package com.learn.springbootnetty.tcpdemo.duofaduoshou;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

/**
 *
 * 不可用接收多个client数据。一个线程只能接收一个客户端数据
 * @author xiaodonghong
 * @description TODO
 * @date 2023/6/13-13:27
 */
public class Server {
    public static void main(String[] args) throws IOException {

         /*
            多发多收
            客户端:多次发送数据
            服务端:接收多次接收数据,并打印
         */

        // 1.创建服务器端的ServerSocket对象绑定客户端连接的端口
        ServerSocket serverSocket = new ServerSocket(10088);
        // 2.监听客户端连接:等待客户端连接,一旦有客户端来连,会返回客户端的连接对象
        Socket socket = serverSocket.accept();

        // 3.从连接管道中获取输入流读取数据
//        InputStream is = socket.getInputStream();
        // 字符缓冲输入流                          字符输入转换流                字节输入流
        BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String line;
        while((line = br.readLine()) != null){
            System.out.println(line);
        }

      /*  int b;
        while((b = br.read()) != -1){
            System.out.print((char)b);
        }*/

        // 4.释放资源
        // 这行代码相当于断开了跟客户端之间的连接
        socket.close();
        // 关闭了服务器
        serverSocket.close();

    }
}
